The embodiments of the invention generally relate to the automatic presentation of a customized list of choices in an application menu or dialog system wherein the choices are limited by the definition of multiple contexts.
There are many circumstances in which computer systems need to present users with choices, and sometimes those choices can be numerous and diverse. These choices may be actions, options, or objects applicable to the task the user is completing. Many applications such as Microsoft Word (R), IBM Lotus Notes (R), Eclipse (R), etc, provide a wealth of actions arranged on menu bars, toolbars and contextual menus as well as shortcut keys to increase user speed and productivity. While these commands are undoubtedly useful, the user needs to search through the menus for those that are relevant for the current task. In addition, there is a limit to how many shortcuts a user can remember and it is a matter of personal taste which actions provide the most productivity gains.
Operating systems and environments often need to present folders or files as part of a representation of a file system, storage media, printers, other peripheral devices, or resources. Software will sometimes wish to present “recently-used” files or folders or applications to assist user selection. Many dialogues with the user involve the presentation of an extensive list from which a choice must be made. In each case the desire of the user interface designer to assist the user by presenting a list rather than requiring unprompted entry is frequently offset by the length of the list, the need to search through it, and the difficulty the user may experience in recognizing the choice they need among potentially unfamiliar alternatives.
In some cases, a “default” option may be used (e.g., a “default” printer can be identified). However, there may not be one single printer that is appropriate as the “default” in all circumstances. The “default” choice also needs to be aware of context and history in order to be effective, and is therefore really just a special case of filtering or prioritizing a long list.
Various strategies exist for addressing the issue of user menu selection.
The utility of conventional approaches is generally limited by various factors: the scope at which context awareness is applied is limited to a particular application or function; the contexts which are used are often simple and only take into account limited factors (e.g. application, current selection) and these do not enable the most useful options to be reliably identified; and, although contexts may sometimes be combined (for example, when providing contextual menus for multiple selections of objects to which different actions apply), the user's history of choices in one context does not affect other contexts, even if those other contexts are very similar.
Some systems, including some of those listed above (especially auto-compacting menus), use “hit-counting”, in which the system records how often a particular action or choice has been selected. However, this tends to accentuate the problems of context and scope. In particular, hit counts maintained for the immediate context alone do not influence similar choices elsewhere, and hit counts maintained globally lose context relevance and therefore lead to inappropriate choices being presented.
An example of this is the “Save As” dialog problem which affects many applications. If an application retains its own memory of the last “Save As” location, this doesn't apply to similar applications. Conversely, a globally maintained last “Save As” location presents unsuitable folders for the file being saved.